228 research outputs found

    Test oracle assessment and improvement

    Get PDF
    We introduce a technique for assessing and improving test oracles by reducing the incidence of both false positives and false negatives. We prove that our approach can always result in an increase in the mutual information between the actual and perfect oracles. Our technique combines test case generation to reveal false positives and mutation testing to reveal false negatives. We applied the decision support tool that implements our oracle improvement technique to five real-world subjects. The experimental results show that the fault detection rate of the oracles after improvement increases, on average, by 48.6% (86% over the implicit oracle). Three actual, exposed faults in the studied systems were subsequently confirmed and fixed by the developers

    Diversifying focused testing for unit testing

    Get PDF
    Software changes constantly because developers add new features or modifications. This directly affects the effectiveness of the testsuite associated with that software, especially when these new modifications are in a specific area that no test case covers. This paper tackles the problem of generating a high quality test suite to cover repeatedly a given point in a program, with the ultimate goal of exposing faults possibly affecting the given program point. Both search based software testing and constraint solving offer ready, but low quality, solutions to this: ideally a maximally diverse covering test set is required whereas search and constraint solving tend to generate test sets with biased distributions. Our approach, Diversified Focused Testing (DFT), uses a search strategy inspired by GödelTest. We artificially inject parameters into the code branching conditions and use a bi-objective search algorithm to find diverse inputs by perturbing the injected parameters, while keeping the path conditions still satisfiable. Our results demonstrate that our technique, DFT, is able to cover a desired point in the code at least 90% of the time. Moreover, adding diversity improves the bug detection and the mutation killing abilities of the test suites. We show that DFT achieves better results than focused testing, symbolic execution and random testing by achieving from 3% to 70% improvement in mutation score and up to 100% improvement in fault detection across 105 software subjects

    Deep Reinforcement Learning for Black-box Testing of Android Apps

    Get PDF
    The state space of Android apps is huge, and its thorough exploration during testing remains a significant challenge. The best exploration strategy is highly dependent on the features of the app under test. Reinforcement Learning (RL) is a machine learning technique that learns the optimal strategy to solve a task by trial and error, guided by positive or negative reward, rather than explicit supervision. Deep RL is a recent extension of RL that takes advantage of the learning capabilities of neural networks. Such capabilities make Deep RL suitable for complex exploration spaces such as one of Android apps. However, state-of-the-art, publicly available tools only support basic, Tabular RL. We have developed ARES, a Deep RL approach for black-box testing of Android apps. Experimental results show that it achieves higher coverage and fault revelation than the baselines, including state-of-the-art tools, such as TimeMachine and Q-Testing. We also investigated the reasons behind such performance qualitatively, and we have identified the key features of Android apps that make Deep RL particularly effective on them to be the presence of chained and blocking activities. Moreover, we have developed FATE to fine-tune the hyperparameters of Deep RL algorithms on simulated apps, since it is computationally expensive to carry it out on real apps

    A clustering based technique for large scale prioritization during requirements elicitation

    Get PDF
    We consider the prioritization problem in cases where the number of requirements to prioritize is large using a clustering technique. Clustering is a method used to find classes of data elements with respect to their attributes. KMeans, one of the most popular clustering algorithms, was adopted in this research. To utilize k-means algorithm for solving requirements prioritization problems, weights of attributes of requirement sets from relevant project stakeholders are required as input parameters. This paper showed that, the output of running k-means algorithm on requirement sets varies depending on the weights provided by relevant stakeholders. The proposed approach was validated using a requirement dataset known as RALIC. The results suggested that, a synthetic method with scrambled centroids is effective for prioritizing requirements using k-means clustering

    Empirical assessment of the effort needed to attack programs protected with client/server code splitting

    Get PDF
    Context. Code hardening is meant to fight malicious tampering with sensitive code executed on client hosts. Code splitting is a hardening technique that moves selected chunks of code from client to server. Although widely adopted, the effective benefits of code splitting are not fully understood and thoroughly assessed. Objective. The objective of this work is to compare non protected code vs. code splitting protected code, considering two levels of the chunk size parameter, in order to assess the effectiveness of the protection - in terms of both attack time and success rate - and to understand the attack strategy and process used to overcome the protection. Method. We conducted an experiment with master students performing attack tasks on a small application hardened with different levels of protection. Students carried out their task working at the source code level. Results. We observed a statistically significant effect of code splitting on the attack success rate that, on the average, was reduced from 89% with unprotected clear code to 52% with the most effective protection. The protection variant that moved some small-sized code chunks turned out to be more effective than the alternative moving fewer but larger chunks. Different strategies were identified yielding different success rates. Moreover, we discovered that successful attacks exhibited different process w.r.t. failed ones.Conclusions We found empirical evidence of the effect of code splitting, assessed the relative magnitude, and evaluated the influence of the chunk size parameter. Moreover, we extracted the process used to overcome such obfuscation technique

    Професорові П.Ю. Гриценку шістдесят

    Get PDF
    У ці світлі осінні дні наукова спільнота святкує славний ювілей — 60-річчя директора Інституту української мови Національної академії наук України, завідувача відділу діалектології, доктора філологічних наук, професора Павла Юхимовича Гриценка

    Nutritional interventions for patients with melanoma: From prevention to therapy—an update

    Get PDF
    Melanoma is an aggressive skin cancer, whose incidence rates have increased over the past few decades. Risk factors for melanoma are both intrinsic (genetic and familiar predisposition) and extrinsic (environment, including sun exposure, and lifestyle). The recent advent of targeted and immune-based therapies has revolutionized the treatment of melanoma, and research is focusing on strategies to optimize them. Obesity is an established risk factor for several cancer types, but its possible role in the etiology of melanoma is controversial. Body mass index, body surface area, and height have been related to the risk for cutaneous melanoma, although an ‘obesity paradox’ has been described too. Increasing evidence suggests the role of nutritional factors in the prevention and management of melanoma. Several studies have demonstrated the impact of dietary attitudes, specific foods, and nutrients both on the risk for melanoma and on the progression of the disease, via the effects on the oncological treatments. The aim of this narrative review was to summarize the main literature results regarding the preventive and therapeutic role of nutritional schemes, specific foods, and nutrients on melanoma incidence and progression

    Predictive value of baseline [18f]fdg pet/ct for response to systemic therapy in patients with advanced melanoma

    Get PDF
    Background/Aim: To evaluate the association between baseline [18F]FDG-PET/CT tumor burden parameters and disease progression rate after first-line target therapy or immunotherapy in advanced melanoma patients. Materials and Methods: Forty four melanoma patients, who underwent [18F]FDG-PET/CT before first-line target therapy (28/44) or immunotherapy (16/44), were retrospectively analyzed. Whole-body and per-district metabolic tumor volume (MTV) and total lesion glycolysis (TLG) were calculated. Therapy response was assessed according to RECIST 1.1 on CT scan at 3 (early) and 12 (late) months. PET parameters were compared using the Mann–Whitney test. Optimal cut-offs for predicting progression were defined using the ROC curve. PFS and OS were studied using Kaplan–Meier analysis. Results: Median (IQR) MTVwb and TLGwb were 13.1 mL and 72.4, respectively. Non-responder patients were 38/44, 26/28 and 12/16 at early evaluation, and 33/44, 21/28 and 12/16 at late evaluation in the whole-cohort, target, and immunotherapy subgroup, respectively. At late evaluation, MTVbone and TLGbone were higher in non-responders compared to responder patients (all p < 0.037) in the whole-cohort and target subgroup and MTVwb and TLGwb (all p < 0.022) in target subgroup. No significant differences were found for the immunotherapy subgroup. No metabolic parameters were able to predict PFS. Controversially, MTVlfn, TLGlfn, MTVsoft + lfn, TLGsoft + lfn, MTVwb and TLGwb were significantly associated (all p < 0.05) with OS in both the whole-cohort and target therapy subgroup. Conclusions: Higher values of whole-body and bone metabolic parameters were correlated with poorer outcome, while higher values of whole-body, lymph node and soft tissue metabolic parameters were correlated with OS

    Finding the Optimal Balance between Over and Under Approximation of Models Inferred from Execution Logs

    Full text link
    Models inferred from execution traces (logs) may admit more behaviours than those possible in the real system (over-approximation) or may exclude behaviours that can indeed occur in the real system (under-approximation). Both problems negatively affect model based testing. In fact, over-approximation results in infeasible test cases, i.e., test cases that cannot be activated by any input data. Under-approximation results in missing test cases, i.e., system behaviours that are not represented in the model are also never tested. In this paper we balance over- and under-approximation of inferred models by resorting to multi-objective optimization achieved by means of two search-based algorithms: A multi-objective Genetic Algorithm (GA) and the NSGA-II. We report the results on two open-source web applications and compare the multi-objective optimization to the state-of-the-art KLFA tool. We show that it is possible to identify regions in the Pareto front that contain models which violate fewer application constraints and have a higher bug detection ratio. The Pareto fronts generated by the multi-objective GA contain a region where models violate on average 2% of an application's constraints, compared to 2.8% for NSGA-II and 28.3% for the KLFA models. Similarly, it is possible to identify a region on the Pareto front where the multi-objective GA inferred models have an average bug detection ratio of 110: 3 and the NSGA-II inferred models have an average bug detection ratio of 101: 6. This compares to a bug detection ratio of 310928: 13 for the KLFA tool. © 2012 IEEE

    How Professional Hackers Understand Protected Code while Performing Attack Tasks

    Get PDF
    Code protections aim at blocking (or at least delaying) reverse engineering and tampering attacks to critical assets within programs. Knowing the way hackers understand protected code and perform attacks is important to achieve a stronger protection of the software assets, based on realistic assumptions about the hackers’ behaviour. However, building such knowledge is difficult because hackers can hardly be involved in controlled experiments and empirical studies. The FP7 European project Aspire has given the authors of this paper the unique opportunity to have access to the professional penetration testers employed by the three industrial partners. In particular, we have been able to perform a qualitative analysis of three reports of professional penetration test performed on protected industrial code. Our qualitative analysis of the reports consists of open coding, carried out by 7 annotators and resulting in 459 annotations, followed by concept extraction and model inference. We identified the main activities: understanding, building attack, chosing and customizing tools, and working around or defeating protections. We built a model of how such activities take place. We used such models to identify a set of research directions for the creation of stronger code protections
    corecore